menu "MSM SoC Audio support"

#7201 7625 variants
config SND_MSM_DAI_SOC
	tristate

config SND_MSM_SOC_MSM7K
	 tristate

config SND_MSM_SOC
	tristate "SoC Audio for the MSM series chips"
	depends on ARCH_MSM7X27
	select SND_MSM_DAI_SOC
	select SND_MSM_SOC_MSM7K
	default n
	help
	  To add support for ALSA PCM driver for MSM board.

#7630 Variants
config SND_MSM7KV2_DAI_SOC
	tristate

config SND_MSM_SOC_MSM7KV2
	tristate

config SND_MSM7KV2_SOC
	tristate "SoC Audio for the MSM7KV2 chip"
	depends on ARCH_MSM7X30 && SND_SOC && MSM7KV2_AUDIO
	select SND_MSM_SOC_MSM7KV2
	select SND_MSM7KV2_DAI_SOC
	default n
	help
	  To add support for ALSA PCM driver for QSD8k board.

config SND_MSM_MVS7x30_SOC
	tristate

config SND_MSM_MVS_DAI_SOC
	tristate

config SND_MVS_SOC
	tristate "SoC Mvs support for MSM7X30"
	depends on SND_MSM7KV2_SOC
	select SND_MSM_MVS7x30_SOC
	select SND_MSM_MVS_DAI_SOC
	default n
	help
	To support Mvs packet capture/playback

#8660 Variants
config SND_SOC_MSM8X60_PCM
	tristate

config SND_SOC_MSM8X60_DAI
	tristate

config SND_SOC_MSM8X60
	tristate "SoC Audio over DSP support for MSM8660"
	depends on ARCH_MSM8X60 && SND_SOC && MSM8X60_AUDIO
	select SND_SOC_MSM8X60_PCM
	select SND_SOC_MSM8X60_DAI
	select SND_SOC_MSM_QDSP6_INTF
	default y
	help
	 To add support for SoC audio on MSM8X60. This driver
	 Adds support for audio over DSP. The driver adds Kcontrols
	 to do device switch/routing and volume control support for all
	 audio sessions. The kcontols also does sesion management for
	 voice calls

config SND_SOC_MSM_HOSTLESS_PCM
	tristate

config SND_SOC_LPASS_PCM
	tristate

config SND_SOC_MSM8660_LPAIF
	tristate

config SND_VOIP_PCM
	tristate

config SND_SOC_MSM_QDSP6_HDMI_AUDIO
	tristate "Soc QDSP6 HDMI Audio DAI driver"
	depends on FB_MSM_HDMI_MSM_PANEL
	default n
	help
	 To support HDMI Audio on MSM8960 over QDSP6.

config MSM_8x60_VOIP
	tristate "SoC Machine driver for voip"
	depends on SND_SOC_MSM8X60
	select SND_MSM_MVS_DAI_SOC
	select SND_VOIP_PCM
	default n
	help
	 To support ALSA VOIP driver for MSM8x60 target.
	 This driver communicates with QDSP6, for getting
	 uplink and downlink voice packets.

config SND_SOC_MSM_QDSP6_INTF
	bool "SoC Q6 audio driver for MSM8960"
	depends on MSM_QDSP6_APR
	default n
	help
	 To add support for SoC audio on MSM8960.

config SND_SOC_MSM_QDSP6V2_INTF
	bool "SoC Q6 audio driver for MSM8974"
	depends on MSM_QDSP6_APRV2
	help
	 To add support for SoC audio on MSM8974.
	 This will enable all the platform specific
	 interactions towards DSP. It includes asm,
	 adm and afe interfaces on the DSP.


config SND_SOC_VOICE
	bool "SoC Q6 voice driver for MSM8960"
	depends on SND_SOC_MSM_QDSP6_INTF
	default n
	help
	 To add support for SoC voice on MSM8960.

config SND_SOC_QDSP6
	tristate "SoC ALSA audio driver for QDSP6"
	select SND_SOC_MSM_QDSP6_INTF
	default n
	help
	 To add support for MSM QDSP6 Soc Audio.

config SND_SOC_QDSP6V2
	tristate "SoC ALSA audio driver for QDSP6V2"
	select SND_SOC_MSM_QDSP6V2_INTF
	help
	 To add support for MSM QDSP6V2 Soc Audio.
	 This will enable sound soc platform specific
	 audio drivers. This includes q6asm, q6adm,
	 q6afe interfaces to DSP using apr.

config SND_SOC_MSM8960
	tristate "SoC Machine driver for MSM8960 and APQ8064 boards"
	depends on ARCH_MSM8960 || ARCH_APQ8064
	select SND_SOC_VOICE
	select SND_SOC_QDSP6
	select SND_SOC_MSM_STUB
	select SND_SOC_WCD9310
	select SND_SOC_WCD9304
	select SND_SOC_MSM_HOSTLESS_PCM
	select SND_SOC_MSM_QDSP6_HDMI_AUDIO
	select SND_SOC_CS8427
	default n
	help
	 To add support for SoC audio on MSM8960 and APQ8064 boards

config AUDIO_OCMEM
	bool "Enable OCMEM for audio/voice usecase"
	depends on MSM_OCMEM
	default n
	help
	 To add support for on-chip memory use
	 for audio use cases on MSM8974.
	 OCMEM gets exercised for low-power
	 audio and voice use cases.


config SND_SOC_MSM8974
	tristate "SoC Machine driver for MSM8974 boards"
	depends on ARCH_MSM8974
	select SND_SOC_QDSP6V2
	select SND_SOC_MSM_STUB
	select SND_SOC_MSM_HOSTLESS_PCM
	select SND_SOC_WCD9320
	select SND_DYNAMIC_MINORS
	select AUDIO_OCMEM
	select SND_HWDEP
	help
	 To add support for SoC audio on MSM8974.
	 This will enable sound soc drivers which
	 interfaces with DSP, also it will enable
	 the machine drivers and the corresponding
	 DAI-links.

config SND_SOC_APQ8074
	tristate "SoC Machine driver for APQ8O74 boards"
	depends on ARCH_MSM8974
	select SND_SOC_QDSP6V2
	select SND_SOC_MSM_STUB
	select SND_SOC_MSM_HOSTLESS_PCM
	select SND_SOC_WCD9320
	select SND_SOC_MSM_HDMI_CODEC_RX
	select SND_DYNAMIC_MINORS
	select AUDIO_OCMEM
	help
	 To add support for SoC audio on APQ8074.
	 This will enable sound soc drivers which
	 interfaces with DSP, also it will enable
	 the machine drivers and the corresponding
	 DAI-links.

config SND_SOC_MSM8226
	tristate "SoC Machine driver for MSM8226 boards"
	depends on ARCH_MSM8226
	select SND_SOC_QDSP6V2
	select SND_SOC_MSM_STUB
	select SND_SOC_MSM_HOSTLESS_PCM
	select SND_SOC_WCD9306
	select SND_DYNAMIC_MINORS
	help
	 To add support for SoC audio on MSM8226.
	 This will enable sound soc drivers which
	 interfaces with DSP, also it will enable
	 the machine drivers and the corresponding
	 DAI-links.

config SND_SOC_MDM9615
	tristate "SoC Machine driver for MDM9615 boards"
	depends on ARCH_MSM9615
	select SND_SOC_VOICE
	select SND_SOC_QDSP6
	select SND_SOC_MSM_STUB
	select SND_SOC_WCD9310
	select SND_SOC_MSM_HOSTLESS_PCM
	select SND_DYNAMIC_MINORS
	help
	 To add support for SoC audio on MDM9615 boards

config SND_SOC_MSM8X10
	tristate "SoC Machine driver for MSM8X10 boards"
	depends on ARCH_MSM8610
	select SND_SOC_QDSP6V2
	select SND_SOC_MSM_STUB
	select SND_SOC_MSM_HOSTLESS_PCM
	select SND_SOC_MSM8X10_WCD
	select SND_DYNAMIC_MINORS
	help
	 To add support for SoC audio on MSM8X10.
	 This will enable sound soc drivers which
	 interfaces with DSP, also it will enable
	 the machine drivers and the corresponding
	 DAI-links.

config EXT_MAINMIC_BIAS
	depends on ARCH_MSM8610
	default n
	bool "EXTERNAL MAIN MICBIAS"
	---help---
         Support for the SAMSUNG MSM8930 audio.
         Say Y here if you want use External bias
         for Main mic.
	 To compile this option, choose M here:
	 If unsure, say N here.

 config EXT_SUBMIC_BIAS
	 depends on ARCH_MSM8610
	 default n
	 bool "EXTERNAL MAIN MICBIAS"
	 ---help---
         Support for the SAMSUNG MSM8930 audio.
         Say Y here if you want use External bias
         for Main mic.
	 To compile this option, choose M here:
	 If unsure, say N here.

config SND_SOC_MSM8660_APQ
        tristate "Soc Machine driver for APQ8060 WM8903 codec"
        depends on ARCH_MSM8X60
        select SND_SOC_QDSP6
        select SND_SOC_WM8903
        select SND_SOC_MSM_STUB
        default n
        help
         To add support for SoC audio on APQ8060 board

config SND_SOC_MDM9625
	tristate "SoC Machine driver for MDM9625 boards"
	depends on ARCH_MSM9625
	select SND_SOC_QDSP6V2
	select SND_SOC_MSM_STUB
	select SND_SOC_WCD9320
	select SND_SOC_MSM_HOSTLESS_PCM
	select SND_DYNAMIC_MINORS
	help
	 To add support for SoC audio on MDM9625 boards.

config SND_SOC_ES_515
        tristate "SoC Audio support for Audience ES515"
        help
          Say Y if you want to add support for SoC audio on Audience ES515.
	  If enabled, the control and data bus interface with ES515
	  must be selected. Three interfaces (I2C, I2S & SLIMbus) are
	  supported as of now.

choice
        prompt "earSmart control interface"
        depends on SND_SOC_ES_515
        default SND_SOC_ES_SLIM
        help
          Select either I2C or SLIMBUS for control interface. The currnet
	  possible control and data bus selections are:
	  * I2C for control - I2S for data
	  * SLIMbus for control -I2S for data
	  * SLIMbus(for both, control and data interface)


config SND_SOC_ES_I2C
        bool "earSmart I2C"
        help
          Y to use the I2C as control interface to communicate with
	  Audience chips.

config SND_SOC_ES_SLIM
        bool "earSmart SLIMbus"
        help
          Y to use the SLIMbus as the command and control path
endchoice

config SND_SOC_ES_I2S
	tristate "earSmart I2S data interface"
        depends on SND_SOC_ES_515
        help
          Say Y if you want to add support for I2S data connections for
          Audience chips.


config SND_SOC_ES_UART
	tristate "earSmart UART interface"
        depends on SND_SOC_ES_515
        help
          Say Y if you want to add support for UART interface for
          Audience chips. The UART interface can be used to send and
	  receive control messages to Audience chips. It can also be
	  used to stream out the audio data for debugging purpose.

config SND_SOC_ES_CDEV
	tristate "earSmart character device interface"
        depends on SND_SOC_ES_515
        help
          Say Y if you want to add support for character device interface to
          Audience chips. This interface can also be used to stream out the
	  audio data for debugging purpose by using existing available control
	  interface.

config JACK_AUDIO
	tristate "Low Latency for JAM audio"
	default y

config SEC_DHA_SOL_MAL
        tristate "Samsung DHA solution"
        default n
        help
         To add support for Samsung DHA solution

config AUDIO_DUAL_CP
        tristate "Audio Flag For DUAL CP"
        default n
        help
         To add support for udio Flag For DUAL CP

config SEC_DEVIDE_RINGTONE_GAIN
	tristate "Samsung ringback tone gain devide"
	default n
	help
	 To add support for Ringback tone gain devide

 config LDO_SUBMIC_BIAS
	depends on ARCH_MSM8974
	default n
	bool "LDO SUB MICBIAS"
	 ---help---
         Support for the SAMSUNG MSM8974 audio.
         Say Y here if you want use LDO bias
         for Sub mic.
	 To compile this option, choose M here:
	 If unsure, say N here.

 config LDO_EARMIC_BIAS
	depends on ARCH_MSM8974
	default n
	bool "LDO EAR MICBIAS"
	 ---help---
         Support for the SAMSUNG MSM8974 audio.
         Say Y here if you want use LDO bias
         for Ear mic.
	 To compile this option, choose M here:
	 If unsure, say N here

config GPIO_MAINMIC_BIAS
	tristate "Main MicBias using gpio"
	help
		To add support if the main-mic bias is
		supplied using external LDO

config DSDA_VIA_UART
	tristate "DualStandbyDualActive function via UART"
	help
	 To add support dsda via uart
endmenu
